Method and system for enhanced messaging

ABSTRACT

Techniques for acquiring, sending, receiving or using status information from a remote location over a network are disclosed. The status information is transmitted over the network between or among electronic devices. The status information can be provided by one or more sensors associated with the electronic device that is transmitting the status information. The status information can be transmitted with messages so as to enhance the messages. The electronic devices include at least computing devices, such as personal computers, personal digital assistants, pagers, and mobile telephones.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims benefit of: (i) U.S. Provisional Patent Application No. 60/444,198, filed Jan. 30, 2003, and entitled “SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MONITORING, DELIVERING, MANAGING AND USING STATUS INFORMATION,” which is hereby incorporated herein by reference; (ii) U.S. Provisional Patent Application No. 60/418,491, filed Oct. 15, 2002, and entitled “SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MONITORING, DELIVERING, MANAGING AND USING STATUS INFORMATION,” which is hereby incorporated herein by reference; (iii) U.S. Provisional Patent Application No. 60/404,645, filed Aug. 19, 2002, and entitled “SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MONITORING, DELIVERING, MANAGING AND USING POSITION AND OTHER INFORMATION,” which is hereby incorporated herein by reference; and (iv) U.S. Provisional Patent Application No. 60/375,998, filed Apr. 24, 2002, and entitled “SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MANAGING AND USING POSITION INFORMATION,” which is hereby incorporated herein by reference.

This application is also related to: (i) U.S. patent application Ser. No. 10/397,473, filed Mar. 26, 2003, now U.S. Pat. No. 6,975,941, and entitled “METHOD AND APPARATUS FOR INTELLIGENT ACQUISITION OF POSITION INFORMATION;” (ii) U.S. patent application Ser. No. 10/397,472, filed Mar. 26, 2003, now U.S. Pat. No. 7,218,938, and entitled “METHODS AND APPARATUS TO ANALYZE AND PRESENT LOCATION INFORMATION;” (iii) U.S. patent application Ser. No. 10/397,637, filed Mar. 26, 2003, now U.S. Pat. No. 7,212,829, and entitled “METHOD AND SYSTEM FOR PROVIDING SHIPMENT TRACKING AND NOTIFICATIONS;” (iv) U.S. patent application Ser. No. 10/397,641, filed Mar. 26, 2003, and entitled “METHOD AND SYSTEM FOR PERSONALIZED MEDICAL MONITORING AND NOTIFICATIONS THEREFOR;” (v) U.S. patent application Ser. No. 10/397,640, filed Mar. 26, 2003, and entitled “INEXPENSIVE POSITION SENSING DEVICE;” (vi) U.S. patent application Ser. No. 10/397,512, filed Mar. 26, 2003, and entitled “APPLICATIONS OF STATUS INFORMATION FOR INVENTORY MANAGEMENT.”

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to communication devices and, more particularly, to enhanced messaging for communication devices.

2. Description of the Related Art

Today, electronic mail (email) is a common mode of communication. One person, acting as a sender, composes an email message and then sends the email message to another person designated as a recipient. The sender composes the email message by interacting with a communication device. The recipient is able to read the email message by interacting with another communication device. Communication devices are often personal computers or mobile telephones. These communication devices can receive and transmit electronic mail messages over a network. The network can be public or private as well as wired or wireless.

Although email is an effective means of communication, when a sender is using a mobile telephone, composing an email message can be tedious and difficult. User interfaces can provide limited assistance to users such as by creating email messages through word prediction, predetermined responses, etc. Nevertheless, given the difficulties with composing messages, email messages from mobile telephones in most cases are relatively short. Recently, communication devices, including mobile telephones, have been able to send and receive instant messages, which are short text messages sent and received in near real time between communication devices.

Apart from sending and receiving email messages, mobile telephones can also display the location or availability (i.e., online or offline) of other users via their mobile telephones. This information is provided by a wireless service provider that monitors location or availability of users via their mobile phones. Unfortunately, such information needs the assistance of wireless service providers and tends not to be widely available. Moreover, if such information is available, the information would very likely not be current and thus the usefulness of the information would be limited.

Thus, there is a need for improved approaches to enhance the capabilities of messaging.

SUMMARY OF THE INVENTION

Broadly speaking, the invention relates to techniques for acquiring, sending, receiving or using status information from a remote location over a network. The status information is transmitted by electronic devices over the network. The status information can be provided by one or more sensors associated with the electronic device that is transmitting the status information. The status information can be transmitted with messages so as to enhance the messages.

According to one aspect of the invention, base messages are entered by a user or automatically produced. The base messages can be text messages (including instant messages), voice messages, video messages or other types of messages. The base messages are augmented to additionally include status information, such as position and/or other conditions information. The status information is normally provided by one or more sensors. In one implementation, base messages can be combined with status information, whereby the resulting messages are referred to as enhanced messages. These enhanced messages are electronically sent from and received at electronic devices, such as personal computers and mobile communication devices.

The invention can be implemented in numerous ways including, a method, system, device, graphical user interface, and a computer readable medium. Several embodiments of the invention are discussed below.

As a method for providing communications between computing devices, one embodiment of the invention includes at least the acts of: obtaining a message at a first computing device to be delivered to a second computing device; acquiring status information at the first computing device; associating the status information to the message; and sending the message with the status information to the second computing device.

As a method for providing communications between computing devices, another embodiment of the invention includes at least the acts of: obtaining a message at a first mobile communication device to be delivered to a second mobile communication device; determining whether status information is to accompany the message; sending the message without any status information when it is determined that status information is not to accompany the message; and acquiring status information at the first mobile communication device and then sending the message and the status information to the second mobile communication device when it is determined that status information is not to accompany the message.

As a method for displaying a message on a display device of a computing device, one embodiment of the invention includes at least the acts of: receiving a message from another computing device over a network; determining whether the message includes at least status information; extracting the status information from the message when it is determined that the message includes at least the status information; and displaying the message and at least one representation of the status information on the display device following the extracting when it is determined that the message includes at least the status information.

As a method for displaying a message on a display device of a computing device, another embodiment of the invention includes at least the acts of: receiving a message from another computing device over a network; determining whether the message includes at least status information; extracting the status information from the message when it is determined that the message includes at least the status information; and displaying the message and at least one representation of the status information on the display device following the extracting when it is determined that the message includes at least the status information.

Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:

FIG. 1 is a block diagram of an enhanced messaging system according to one embodiment of the invention.

FIG. 2 is a block diagram of an enhanced messaging system according to another embodiment of the invention.

FIG. 3 is a flow diagram of status message processing according to one embodiment of the invention.

FIG. 4 is a flow diagram of send processing according to one embodiment of the invention.

FIG. 5 is a flow diagram of display processing according to one embodiment of the invention.

FIG. 6 is a flow diagram of status retrieval processing according to one embodiment of the invention.

FIG. 7 is a flow diagram of status request processing according to one embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The invention relates to techniques for acquiring, sending, receiving or using status information from a remote location over a network. The status information is transmitted over the network between or among electronic devices. The status information can be provided by one or more sensors associated with the electronic device that is transmitting the status information. The status information can be transmitted with messages so as to enhance the messages. The electronic devices include at least computing devices, such as personal computers, personal digital assistants, pagers, and mobile telephones.

According to one aspect of the invention, messages are enhanced through use of status information. Base messages are entered by a user or automatically produced. The base messages can be text messages (including instant messages), voice messages, video messages or other types of messages. The base messages are augmented to additionally include status information, such as position and/or other conditions information. The status information is normally provided by one or more status sensors. In one implementation, base messages can be combined with status information, whereby the resulting messages are referred to as enhanced messages. These enhanced messages are electronically sent from and received at communication devices, such as personal computers and mobile communication devices.

Different embodiments of the invention are discussed below with reference to FIGS. 1-7. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments.

According to one aspect of the invention, traditional messages transmitted between communication devices are augmented to additionally include status information, such as position and/or conditions information. The conditions information can pertain to one or more of environmental conditions, device-related conditions, or user-related conditions. One or more status sensors associated with the communication devices can capture or obtain the status information. In the case of position information, the status sensor can be a receiver, such as a Global Positioning System (GPS) receiver or other means.

FIG. 1 is a block diagram of an enhanced messaging system 100 according to one embodiment of the invention. The enhanced messaging system 100 allows electronic messages (e.g., text messages) to be sent between mobile communication devices. The electronic messages being sent can be enhanced to include status information pertaining to (i) status of the associated mobile communication devices, (ii) status associated with the environment of the mobile communication devices, and/or (iii) status of the person(s) using the mobile communication device(s).

The enhanced messaging system 100 includes mobile communication devices 102, 104, 106 and 108. The mobile communication devices 102 and 104 communicate with a wireless network 110, and the mobile communication devices 106 and 108 communicate with a wireless network 112. The wireless networks 110 and 112 can be the same or different networks and can utilize same or different protocols. The wireless networks 110 and 112 can be coupled together and/or can couple to the Internet 114, and can support global messaging.

The enhanced messages are sent from one of the mobile communication devices to one or more other of the mobile communication devices. These enhanced messages can include additional information about the mobile communication device, its user and/or its environment. In one embodiment, the status information can include at least position (location) information and other status information. To provide the status information, the mobile communication devices 102, 104, 106 and 108 can include one or more status sensors, such as position detectors, and/or one or more other types of condition sensors for different conditions regarding the communication devices. A position detector can provide position information pertaining to its corresponding mobile communication device. Similarly, a condition sensor provides condition information pertaining to conditions sensed at the corresponding mobile communication device. More particularly, the mobile communication device 102 includes a position detector 116 and at least one condition sensor 118; the mobile communication device 104 includes a position detector 120 and at least one condition sensor 122; the mobile communication device 106 includes a position detector 124 and at least one condition sensor 126; and the mobile communication device 108 includes a position detector 128 and at least one condition sensor 130.

In one embodiment, the position information is obtained from a global positioning system (GPS) receiver, which can be in a mobile communication device. In other words, the position detector can be a GPS receiver. The position information can be obtained or augmented by a local positioning system such as utilized with a local network (e.g., Bluetooth, Wi-Fi, etc.). The conditions information can vary with application. Examples of conditions that can be provided within the conditions information include environment conditions or conditions of the environment of the corresponding mobile communication device. Environment conditions include temperature, humidity, pressure, gaseous or liquid states, chemical compositions, wind speed, color composition, scent, light, sound, smoke, particle or radiation (e.g., infrared radiation). The conditions information can be pertaining to a mobile communication device itself, such as force or pressure asserted on it, or its vibration, acceleration, speed (velocity) or direction. The conditions information can also include user-related conditions. These are conditions related to the user, who is typically a living being and who may be using the corresponding mobile communication device. Examples of user-related conditions include the being's physical conditions (e.g., heart beat, temperature, pupil dilation, hunger, perspiration, tired or sick), volitional behavior (e.g., facial expressions, jumping or moving), or the user's emotional state, such as the user's mood. Examples of emotional states or moods include sad, happy, mad, stressed, or excited. Some of these conditions are not determined directly by sensors, but are instead determined indirectly through processing other sensor data.

In one embodiment, an enhanced messaging system can operate in a distributed manner with little or no centralized management for status information exchange. In other words, the exchange of status information can be peer-to-peer (e.g., from one mobile communication device to another) without an intermediate centralized server to store and manage distribution of the status information. Such an embodiment can operate without assistance from wireless networks service providers. The enhanced messaging system 100 shown in FIG. 1 is suitable for use as such an embodiment.

In another embodiment, an enhanced messaging system can operate in a centralized manner, such as shown below in FIG. 2. In the case of a centralized system, or at least one providing centralized assistance, the status information can be stored and/or processed by a separate entity, independent of the parties sending and receiving information.

FIG. 2 is a block diagram of an enhanced messaging system 200 according to one embodiment of the invention. The enhanced messaging system 200 provides web-based enhanced messaging between users of communication devices. The enhanced messages being sent from one of the communication devices to one or more other of the communication devices. These enhanced messages can include additional information pertaining to a communication device, its user and/or its environment. In one embodiment, the status information can include at least position (location) information and conditions information.

According to the embodiment shown in FIG. 2, the enhanced messaging system 200 includes stationary communication devices 202 and 204. The enhanced messaging system 200 also includes mobile communication devices (MCD) 206 and 208. Typically, the mobile communication devices 206 and 208 are worn by, affixed to or carried by users. The enhanced messaging system 200 would normally be able to support multiple stationary communication devices, such as desktop computers, and mobile communication devices, such as mobile telephones, personal digital assistants and two-way pagers.

In general, messages can be transmitted (sent and/or received) between and/or among any of the communication devices, regardless of whether stationary or mobile. For discussion, it is assumed that a message is created and sent from the mobile communication device 206 to the stationary communication device 204. The message is assumed to be a text message, such as a real-time text message (e.g., instant message). In this example, the mobile communication device 206 acquires status information pertaining to the user, the device and/or the environment. The acquired status information is provided to the stationary communication device 204 along with the message.

The mobile communication devices 206 and 208 couple to a wireless network 210. The wireless network 210 couples to the Internet 212. Further, a status server 214 is coupled to the Internet 212. The status server 214 also couples to a status database 216. The Internet 212 can be replaced by other data networks (e.g., enterprise network, regional network, Local Area Network, Wide Area Network and global network).

The status information can include at least position (location) information and conditions information. The position information is obtained typically from a global positioning system (GPS) receiver within the first mobile communication device 206. The position information can be obtained or augmented by a local positioning system such as utilized with a local network (e.g., Bluetooth, Wi-Fi, etc.).

The conditions information can vary with application. Various examples of conditions that can be provided within the conditions information were noted above. The corresponding conditions sensor(s) can also be in the mobile communication device 206, or the sensor(s) can be wired or wirelessly coupled to the mobile communication device 206.

The status information that is obtained by the first mobile communication device 206 is sent by the first mobile communication device 206 to the status server 214 via the wireless network 210 and the Internet 212. The status server 214 stores the status information pertaining to the first mobile communication device 206 into the status database 216 such that it is associated with the first mobile communication device 206. The status server 214 monitors status information for numerous communication devices, including mobile communications devices and/or stationary communication device, and thus stores status information pertaining to numerous communication devices.

The enhanced messaging system 200 can also include at least one third-party 218. The third-party 218 is a user interested in status information acquired by mobile communication devices but does not normally receive the text messages also being sent.

The enhanced messaging system 200 can allow a recipient of the message to not only receive the text of the message but also the status information associated with the message. In one embodiment, the recipient receives the status information with the message. The recipient of the message can, for example, include one or more of the mobile communication devices 206 and 208 or one or more of the stationary communication devices 202 and 204, or users thereof. In another embodiment, an authorized party, such as the user of the stationary communication devices 202 and 204 or the third-party 218, can interact with the status server 214 through a web interface so that such users are able to access certain status information via the status server 214 and the status database 216. The web interface can facilitate a user in accessing status information anytime anywhere.

FIG. 3 is a flow diagram of status message processing 300 according to one embodiment of the invention. The status message processing 300 is, for example, performed by a mobile communication device (e.g., mobile telephone, two-way pager) or other computing device (e.g., desktop computer, gateway, server).

Initially, the status message processing 300 receives 302 a message at a first mobile communication device. For example, a user of the mobile communication device would typically interact with the mobile communication device (e.g., through a user interface) to create the message. Hence, in this embodiment, the message is considered to be a user-entered message. The user-entered message can be a voice message, a text message, a video message or some other type of input, or some combination thereof. A text message is, for example, a standard email message, a short message (e.g., SMS message) or an instant message. Status information pertaining to the first mobile communication device (and/or its user or environment) can be acquired 304. As noted above, in one embodiment, the status information can include at least position (location) information and/or conditions information. Some or all of the status information can then be attached 306 to the user-entered message. In one embodiment, at least some of the status information has been processed before attachment. The processed status information is still considered as status information. With the status information attached 306 to the user-entered message, the user-entered message becomes an enhanced message. The enhanced message is then sent 308 from the first mobile communication device to another electronic device, such as a second mobile communication device (e.g., mobile telephone, personal digital assistant, or pager) or other computing device (e.g., portable or stationary computer). Typically, the sending of the enhanced message involves electronic transmission of the enhanced message over a wireless network as well as perhaps a wired network. Although the enhanced message is often sent from one mobile communication device to another mobile communication device, the message can alternatively be sent to another computing device, such as a personal computer coupled to the network. Following the operation 308, the status message processing 300 is complete and ends.

FIG. 4 is a flow diagram of send processing 400 according to one embodiment of the invention. The send processing 400 is, for example, performed by a mobile communication device or other computing device.

The send processing 400 initially produces 402 a message. In this embodiment, the message is a user-entered message such as a text message. The text message can, for example, be produced or initiated by a user of the mobile communication device or other computing device. However, in other embodiment, the message can be a voice message or a video message.

A decision 404 then determines whether status information is to be added to the text message. The decision 404 allows the user to limit or restrict the status information that is sent to others. For example, the user might restrict the status information such that it can only be sent to authorized persons or destinations. The restrictions can be imposed by a profile or configuration information associated with the user. In one implementation, a user can make use of a list of recipients permitted to receive status information (e.g., pre-authorized recipients). As another example, a dialog box (or other graphical user interface) could be displayed to allow the user to select none, some or all of the available status information to be sent generally with all text messages, or specifically with a particular text message. As still another example, default authorizations can control the status information that is to be sent to recipients. Yet, in another example, status information can have different levels. Some levels can be more confidential than others, or some levels can be more important than others. These levels can also be set by the user. Regardless, different recipients can receive different levels of status information.

In any case, when the decision 404 determines that status information is to be provided with the text message, the status information is acquired 406. The status information is acquired from the mobile communication device or other computing device that is sending the text message. For example, the status information can be acquired 406 from a position detector and at least one condition sensor within (wired or wirelessly coupled to) the mobile communication device.

Regardless of how or when acquired, the status information can then be embedded 408 in the text message. Once the status information has been embedded in 408 (or otherwise combined with or linked to) the text message, the resulting message is referred to as an enhanced message. The status information can be embedded in an open (e.g., as additional displayed information) or hidden manner (e.g., as undisplayed text). In one example, the status information is embedded in the text message using a markup language. The status information being embedded in the text message can also be encrypted, or the entire enhanced message can be encrypted. After the status information is embedded 408 (as well as directly after the decision 404 when no status information is to be added, the resulting message (regardless of whether enhanced or not) is sent 410 to a recipient. The recipient is typically a user of another mobile communication device or other computing device. However, the recipient can also be the another mobile communication device or other computing device. Following the operation 410, the send processing 400 is complete and ends.

FIG. 5 is a flow diagram of display processing 500 according to one embodiment of the invention. The display processing 500 is, for example, performed by a mobile communication device or other computing device. The display processing 500 is, for example, performed in response to a message being received due to the send processing 400 of FIG. 4. In other words, the display processing 500 can be performed by a computing device associated with a recipient that has received a message.

The display processing 500 begins with a decision 502 that determines whether a message has been received. When the decision 502 determines that a message has not yet been received, then the display processing 500 awaits the receipt of a message. On the other hand, when the decision 502 determines that a message has been received, a decision 504 then determines whether any status information is provided with the message that has been received. Here, the message is examined to determine whether status information is provided within the message. When the decision 504 determines that status information is provided with the message (and thus the message is an enhanced message), then the status information is extracted 506 from the message.

Next, the message as well as at least one representation of the status information are displayed 508. The representation (e.g., indication) of the status information being displayed can vary with implementation. In one embodiment, the representation is a graphical symbol that represents at least a portion of the status information. For example, a smiling face icon can represent a happy mood, a frown face icon can represent that the user is unhappy, etc. In another embodiment, the representation is textual information that is or represents a portion of the status information. In still another embodiment, the representation is a link (e.g., hyperlink) that provides access to at least a portion of the status information. For such representations, the status information can specify its presentation, or additional processing of the status information can determine an appropriate presentation.

The status information can also be interpreted, analyzed or processed before or while the representation to be displayed is determined. In one embodiment, such interpretation, analysis or processing can be performed, at least in part, by the device sending the message. As one example, the status information can include (or interpreted to include) temperature (e.g., ambient temperature) and user perspiration. Based on these two pieces of status information, one interpretation is that the user is perspiring (i.e., sweating) because of the high temperature.

As another example of the interpretation of status information, relative position of two computing devices can be computed and displayed. For example, if a receiving-computing device (either mobile or stationary) receives position information from a sending-computing device (preferably mobile), then the receiving-computing device (which knows its position) can determine and display the relative position (e.g., distance and/or direction) of the sending and the receiving-computing devices. Further, through use of other conditions information pertaining to the sending-computing device that might also be provided to the receiving-computing device, the receiving-computing device can also display the speed (velocity), direction of travel, etc. of the sending-computing device. Through additional interpretation or analysis of the conditions information, the speed (or average speed) could be used to categorize the type of movement of the sending-computing device, which would be available for display, as a symbol or other indication. As examples, the categories could be auto, bicycle, run, fast walk, slow walk, and stationary.

In yet another example, conditions information can include the user's mood. This can be measured in a number of different ways. One method is discussed in U.S. Pat. No. 5,774,591, entitled, “APPARATUS AND METHOD FOR RECOGNIZING FACIAL EXPRESSIONS AND FACIAL GESTURES IN A SEQUENCE OF IMAGES,” which is hereby incorporated herein by reference. Such conditions information can be interpreted at the sending-computing device or the receiving-computing device. Conditions information can be a user's stress level. This piece of status information can, for example, be interpreted and transformed into a symbol, such as a stressed-face icon which the stress level is high. In one embodiment, both the raw data and the symbol(s) are transmitted to a receiving-computing device, but with only the symbol being displayed and the raw data being hidden. By selecting the displayed symbol or through other appropriate user-input, the receiving-computing device can additionally analyze or view the raw data.

Alternatively, when the decision 504 determines that status information is not provided with the message, then the message is displayed 510. Here, there is no status information available to present; therefore, the message is simply displayed. Following the operations 508 and 510, the display processing 500 is complete and ends.

The display processing 500 operates to present at least an indicator or representation of the status information through a display. In another embodiment, the status can be presented to the user of the mobile communication device or other computing device in other ways. For example, the status information could be presented by an audio output (e.g., synthesized voice), a tactile output or other types of outputs that can be sensed by the user, which is typically a living being, such as a human being.

In one aspect of the invention, status information can be automatically included with user-entered messages being sent as noted above. As another aspect of the invention, status information can be acquired and presented on request.

FIG. 6 is a flow diagram of status retrieval processing 600 according to one embodiment of the invention. The status retrieval processing 600 is, for example, performed by a mobile communication device or other computing device.

The status retrieval processing 600 begins with a decision 602 that determines whether a status request has been requested. The status request is provided by a requestor to acquire status information from another mobile communication device or other computing device. In one embodiment, the status request is initiated by a requester. The requestor can be a user of the mobile communication device or other computing device. In another embodiment, the status request can be initiated by the mobile communication device or other computing device. When the decision 602 determines that a status request has not been requested, then the status retrieval processing 600 awaits such a request.

Once the decision 602 determines that a status request has been requested, a status request message is produced 604. The status request message is then sent 606 from the requestor to a recipient. In one embodiment, the status request message is a short text message (e.g., SMS message) that need not be displayed at the recipient. A status request message that is not displayed at the recipient can be referred to as a dummy message. The recipient can be another mobile communication device or other computing device, or a user thereof.

Next, a decision 608 determines whether a status response message has been received by the requestor. The status response message includes status information associated with the recipient. The status response message is a message sent by the recipient in response to the status request message from the requestor. When the decision 608 determines that the status response message has not yet been received, then the status retrieval processing 600 awaits receipt of a status response message. On the other hand, when the decision 608 determines that a status response message (responsive to the status request message) has been received, then the status retrieval processing 600 continues. Namely, status information is extracted 610 from the status response message. Next, at least one representation of the status information is displayed 612. The representation can vary with implementation. In one embodiment, the representation is a graphical symbol that represents at least a portion of the status information. In another embodiment, the representation is text that is or represents a portion of the status information. In another embodiment, the representation is a piece of video clip that is or represents a portion of the status information. In still another embodiment, the representation is a link (e.g., hyperlink) that provides access to at least a portion of the status information. The status information can also be interpreted, analyzed or processed before or while the representation to be displayed is determined. Following the operation 600, the status retrieval processing 600 is complete and ends.

FIG. 7 is a flow diagram of status request processing 700 according to one embodiment of the invention. The status request processing 700 is, for example, performed by a mobile communication device or other computing device. The status request processing 700 is, for example, performed in response to a status request message of the status retrieval processing 600 of FIG. 6.

The status request processing 700 begins with a decision 702 that determines whether a status request message has been received. When the decision 702 determines that a status request message has not yet been received, then the status request processing 700 awaits such a message. Once the decision 702 determines that a status request message has been received, status information for the associated mobile communication device or other computing device or user thereof is acquired 704. A status response message is then produced 706 based on the status information. The status response message is then sent 708 to the requestor. The requestor can be considered to be a mobile communication device or other computing device, or a user thereof, that caused the status request message to be sent. According to one embodiment, once the status response message is sent 708, the operations 610-612 of the status retrieval processing 600 of FIG. 6 can be performed.

As described above, status information is typically presented in some manner at the recipient (often presented concurrently with a message). In other embodiments, the status information can be stored in a database for later utilization. The messages can be subsequently searched, sorted or otherwise processed.

In still another aspect of the invention, status information can be automatically sent to one or more recipients whenever available or when changed. For example, one such embodiment could have a mobile communication device periodically or on events (e.g., status events) send its status information to another computing device. As another example, status information could be automatically sent to another computing device when changed by more that a threshold amount. This would enable the another computing device to maintain awareness of up-to-date status information of the mobile communication device. Like other embodiments, this embodiment can operate in a peer-to-peer manner or in a centralized manner.

Note that status sensors do not have to be embedded in a mobile communication device. A status sensor can be physically detached, but electronically coupled to a communication device through a wireless link, such as based on the Bluetooth or Wi-Fi technologies. In yet another embodiment, a status sensor electronically couples to a communication device through a wire connection.

In yet another embodiment, the sending of status information can be through user-activation. In other words, although a piece of status information is acquired via a status sensor, its transmission to another electronic device can depend on a user's voluntary action, such as pushing a button.

One application of the invention is to provide the status information with messages, such as text messages and in particular near real-time text messages, such as instant messages. Hence, users of computing devices, namely, mobile communication devices, can exchange near real-time text messages and in doing so can also exchange status information. In some embodiments, the exchange of status information is achieved automatically, without user initiation.

The messages can be provided in a markup language format. The status information can be embedded or included in the messages also in a markup language. As examples, the markup language include HTML, HDML, WML, XML, etc. The messages and/or status information can also be provided in a programming language format, such as JAVA or C.

Another application of the invention is in the medical area. For example, a patient carries a mobile communication device with a position detector. He is also carrying one or more status sensors that can sense, for example, his body temperature, blood pressure, blood sugar or glucose level, blood oxygen, spirometry, ECG, heart rate, arrhythmias, brain wave, other sound wave measurable by a stethoscope, and/or body fat. The sensors can be non-invasive or invasive. Also, the sensor(s) can be coupled to the device is a wireless or wired manner. Such status information can be transmitted upon his command. In one embodiment, a patient's mobile communication device sends a message (“Very tired.”) to an emergency clinic. It is an enhanced message that includes some of the patient's status information, such as his physical location and blood sugar level. In response, a specialist at the clinic sends one or more messages back, instructing the patient how to care for himself and/or controlling the release of insulin into the patient. In the mean time, the specialist can dispatch an ambulance to pick him up.

A number of embodiments have been described based on text messages. The present invention is also applicable to other types of messages, such as voice messages. In one embodiment, the message is provided with a voice call, and the mobile communication device is a mobile telephone (e.g., cell phone).

Also, a number of embodiments have been described regarding a device sending information to another device. In one embodiment, a device can broadcast enhanced messages to many devices.

In yet another embodiment, communication among devices can be monitored and charged by a third party. For example, the user of a communicating device can be billed depending on the amount of enhanced messages he has been sending or the amount or degree of enhancement to messages. In one embodiment, both the recipient and the sender of the enhanced messages are billed. In another embodiment, the more types of status messages included, the higher the bill. For example, enhanced messages with position, temperature and humidity information, will cost more than enhanced messages with just position.

The various aspects can be used separately or in any combination.

The above-described system, methods and processes can be used together with other aspects of a monitoring system or mobile device, including the various aspects described in: (i) U.S. Provisional Patent Application No. 60/444,198, filed Jan. 30, 2003, and entitled “SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MONITORING, DELIVERING, MANAGING AND USING STATUS INFORMATION,” which is hereby incorporated herein by reference; (ii) U.S. Provisional Patent Application No. 60/418,491, filed Oct. 15, 2002, and entitled “SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MONITORING, DELIVERING, MANAGING AND USING STATUS INFORMATION SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MANAGING AND USING POSITION INFORMATION,” which is hereby incorporated herein by reference; (iii) U.S. Provisional Patent Application No. 60/404,645, filed Aug. 19, 2002, and entitled “SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MONITORING, DELIVERING, MANAGING AND USING POSITION AND OTHER INFORMATION,” which is hereby incorporated herein by reference; and (iv) U.S. Provisional Patent Application No. 60/375,998, filed Apr. 24, 2002, and entitled “SYSTEM, METHOD AND APPARATUS FOR ACQUIRING, PRESENTING, MANAGING AND USING POSITION INFORMATION,” which is hereby incorporated herein by reference.

The invention can be implemented in software, hardware or a combination of hardware and software. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium can be any data storage device that can store data which can thereafter be read by a computing device. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, magnetic tape, optical data storage devices, and carrier waves. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

The advantages of the invention are numerous. Different embodiments or implementations may yield one or more of the following advantages. One advantage is that status information is able to be obtained easily while exchanging electronic messages or otherwise through use of electronic messages. Another advantage of the invention is that messages are able to be enhanced with status information acquired by sensors. Still another advantage of the invention is that it can operate in a point-to-point or centralized manner to gather and present status information between computing devices (e.g., mobile communication devices).

The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention. 

1. A method for providing communications between computing devices, said method comprising: obtaining a message at a first computing device to be delivered to a second computing device; acquiring status information at the first computing device, the status information including at least user-related condition information pertaining to a user of the first computing device; associating the status information to the message; and sending, at the request of the user of the first computing device, the message along with the status information to the second computing device, wherein the message is created by the user of the first computing device, wherein the message is from the user of the first computing device to be received by another user via the second computing device, and wherein the message contains text entered by the user of the first computing device and the message is distinct from the status information, which serves to augment the message.
 2. A method as recited in claim 1, wherein said acquiring of the status information is performed automatically without user interaction.
 3. A method as recited in claim 1, wherein the status information further includes at least one of position information and environmental information.
 4. A method as recited in claim 3, wherein said acquiring of the status information is performed automatically without user interaction.
 5. A method as recited in claim 1, wherein at least a portion of the status information is acquired by a plurality of sensors.
 6. A method as recited in claim 5, wherein the portion of the status information further includes position information and environmental information.
 7. A method as recited in claim 1, wherein the user-related condition information is acquired at the first computing device by at least one sensor device that is internal to the first computing device, attached to the first computing device, or wirelessly connectable to the first computing device.
 8. A method as recited in claim 1, wherein said associating of the status information to the message attaches the status information to the message.
 9. A method as recited in claim 1, wherein said associating of the status information to the message embeds the status information within the message.
 10. A method as recited in claim 1, wherein the status information further includes at least position information.
 11. A method as recited in claim 1, wherein the status information further includes at least device-related condition information.
 12. A method as recited in claim 1, wherein the status information further includes at least environmental information.
 13. A method as recited in claim 1, wherein the status information further includes at least two of position information, environmental information and device-related condition information.
 14. A method as recited in claim 1, wherein at least one of the first computing device and the second computing device is a mobile communication device.
 15. A method as recited in claim 14, wherein the mobile communication device is a mobile telephone.
 16. A method as recited in claim 1, wherein at least a portion of the status information is acquired by a sensor.
 17. A method as recited in claim 16, wherein the sensor is internal to the first computing device.
 18. A method as recited in claim 17, wherein the sensor is provided in a sensor device separate from the first computing device.
 19. A method as recited in claim 18, wherein the sensor device wirelessly couples to the first computing device.
 20. A method as recited in claim 1, wherein the message is a text message.
 21. A method as recited in claim 20, wherein the text message is an instant message or short text message.
 22. A method as recited in claim 1, wherein the status information further includes at least position information related to the first computing device, wherein the user-related condition information and the position information are acquired from different types of sensors, and wherein the first computing device and the second computing devices are mobile communication devices.
 23. A method as recited in claim 1, wherein the second computing device is a personal computer.
 24. A method as recited in claim 1, wherein said method further comprises: determining whether the second computing device or a user thereof is permitted to obtain the status information from the first computing device; and blocking said sending of the status information to the second computing device when said determining determines that the second computing device or a user thereof is not permitted to obtain the status information from the first computing device.
 25. A method as recited in claim 1, wherein said method further comprises: determining an extent to which the second computing device or a user thereof is permitted to obtain the status information from the first computing device; and limiting said sending of at least a portion of the status information to the second computing device based on the extent to which the second computing device or a user thereof is permitted to obtain the status information from the first computing device.
 26. A method as recited in claim 1, wherein the status information further includes at least first position information associated with the first computing device, and wherein said method further comprises processing at least the first position information of the status information received at the second computing device to determine and display an indication of relative positions of the first and second computing devices.
 27. A method as recited in claim 26, wherein the second computing device has second position information associated therewith, and wherein said processing determines the relative positions based on the first position information and the second position information.
 28. A method as recited in claim 1, wherein said method further comprises: processing the status information to categorize the type of movement pertaining to the first computing device.
 29. A method as recited in claim 28, wherein said method further comprises: displaying a graphical indication of the type of movement.
 30. A method as recited in claim 1, wherein said method further comprises: processing the status information to determine a users health state.
 31. A method as recited in claim 30, wherein said method further comprises: displaying a graphical indication of the user's health state.
 32. A method as recited in claim 1, wherein said method further comprises: processing the status information to determine a user's stress level.
 33. A method as recited in claim 32, wherein said method further comprises: displaying a graphical indication of the user's stress level.
 34. A method as recited in claim 1, wherein said method further comprises: processing the status information to determine a user's emotional state.
 35. A method as recited in claim 34, wherein said method further comprises: displaying a graphical indication of the users emotional state.
 36. A method as recited in claim 34, wherein said obtaining of the message comprises receiving the message via a user interacting with the first computing device.
 37. A method for providing communications between computing devices, said method comprising: obtaining a message at a first mobile communication device to be delivered to a second mobile communication device, the message being from a user of the first mobile communication device, and the message to be received by another user via the second mobile communication device; determining whether status information is to accompany the message; sending the message without any status information when said determining determines that status information is not to accompany the message; and acquiring status information at the first mobile communication device and then sending the message and the status information to the second mobile communication device when said determining determines that status information is to accompany the message, wherein the status information includes at least position information and at least one of user-related condition information or environmental information, the user-related condition information pertaining to the user of the first mobile communication device, and the environmental information being associated with an environment pertaining the first mobile communication device or the user thereof.
 38. A method as recited in claim 37, wherein the status information is embedded within the message prior to said sending the message to the second mobile communication device.
 39. A method as recited in claim 38, wherein the status information is embedded within the message in a hidden manner.
 40. A method as recited in claim 38, wherein the message has a markup language format, and the status information is embedded in the message using the markup language format.
 41. A method as recited in claim 37, wherein the status information is attached to the message prior to said sending the message to the second mobile communication device.
 42. A method as recited in claim 37, wherein said determining operates to determine whether status information is to accompany the message based on at least one of a user input and predetermined criteria.
 43. A method as recited in claim 42, wherein the predetermined criteria is based on at least one of time and the status information.
 44. A method for displaying a message on a display device for a user of a computing device, said method comprising: receiving a message from another computing device over a network; determining whether the message includes at least status information; extracting the status information from the message when said determining determines that the message includes at least the status information; and displaying the message and at least one representation of the status information on the display device following said extracting when said determining determines that the message includes at least the status information, wherein the message is initiated by a user of the another computing device, wherein the message contains text entered by the user of the another computing device, and wherein the message is different from the status information, which serves to augment the message.
 45. A method as recited in claim 44, wherein said method further comprises: displaying the message without any representation of the status information on the display device when said determining determines that the message does not include status information.
 46. A method as recited in claim 44, wherein the message is a text message, and wherein the network comprises at least one of a wired network and a wireless network.
 47. A method as recited in claim 44, wherein at least one of the computing device and the another computing device are mobile communication devices.
 48. A method as recited in claim 44, wherein said method further comprises: analyzing or interpreting the status information after being extracted from the message to identify at least one status condition.
 49. A method as recited in claim 48, wherein the at least one representation being displayed is a symbol that represents the status condition.
 50. A method as recited in claim 48, wherein the status information pertains to at least one of the another computing device, its user, or the environment which the another computing device or the user is in. 